This application is a continuation-in-part of U.S. application Ser. No. 09/961,875, filed on Sep. 24, 2001 (pending).
Automatic call distribution systems are known. Such systems are typically used in an organizational context as a means of distributing telephone calls among a group of agents of the organization. Agents are typically segregated into groups to serve particular call targets within an organization.
Often the organization disseminates a single telephone number to its customers and to the public in general as a means of contacting the organization. As calls are directed to the organization from the public switch telephone network (PSTN), the automatic call distribution system routes the calls to its agents based upon some algorithm, typically based upon availability. For example, where all agents are considered equal, the automatic call distributor (ACD) may distribute the calls based upon which agent position (telephone) has been idle the longest.
An organization often relies on historical levels (in Erlangs) of incoming calls to the individual call targets in order to staff an ACD. A manager of the ACD may examine the historical call loading records, add or subtract a percentage of the historical loading based upon a most recent call history (e.g., the most recent week or month), and estimate a staffing level based upon those calculations. Alternatively, some organizations have relied upon commercially available predictive software (i.e., work force management packages) that calculate daily staffing levels based upon historic information.
In addition, or alternatively, a manager may plan or add to staffing levels based upon any expected outgoing call campaigns. Since-a rate of outgoing calls is much easier to predict than incoming calls, the manager may simply pick a staffing level commensurate with the expected impact that the manager desires.
Once daily staffing levels have been estimated, agents are scheduled based upon those estimates. Where more than one organizational call target is involved (e.g., sales agents, service agents, outgoing call campaign agents, etc.), requiring different agent skills, each group may be separately staffed based upon an Erlang estimate for that group.
As an alternative to staffing individual groups, some systems group all agents together and assign a skill rating to each agent. Calls are then assigned based upon the skill rating of the agent for handling that type of call.
For example, where a single group is used, an ACD may look for and assign the call to the most qualified agent. As some agents are more qualified than others, some agents will receive more calls than others, resulting in an inequitable work load (i.e., an agent may be regarded as being in a “hot seat”).
Further, where all agents are grouped together, Erlang theory for any one call type can become inaccurate. For example, one benefit of using a common group relates to economies of scale. Two groups servicing two call types that separately would require 10 agents each would, instead, only require 18 agents to service the two call types at the same level of service if the agents were provided from a common pool. On the other hand, some systems which maintain separate groups also share some agents among call types and, therefore, there is some economy of scale due to the sharing. However, neither extreme is typically used exclusively in contact centers.
In contact centers, including call centers, it is difficult to allocate resources, including personnel resources, such that the goals of the contact center business (e.g., average speed of answer, service level, level of abandoned calls, etc.) are always met. For example, even in the case where an adequate number of agents are scheduled for work, a change in the call mix may result in a mismatch of skilled agents for a call type.
Where all agents are grouped together and the goals of the contact center business are the same across all applications, staffing estimates can be based upon an Erlang rate of the agent pool as a whole. Basing a staffing estimate upon an organization as a whole is subject to large errors if the agents are not, in fact, grouped together. Because of the importance of call handling through ACDs, the need to route calls to agents according to skill and the goals of the contact center and the dynamic nature of both the incoming traffic and agent availability, a need exists for a method of modifying agent responsibilities among call types which is better than the individual group method.